home *** CD-ROM | disk | FTP | other *** search
/ Treccani Italiana Di Scienze Lettere Ed Arti / [Enciclopedia] Treccani Italiana di scienze lettere ed arti.iso / pc / data / menu_dvd.swf / scripts / __Packages / CAppendiceStyleManager.as < prev    next >
Text File  |  2007-11-07  |  15KB  |  210 lines

  1. class CAppendiceStyleManager extends AsBroadcaster
  2. {
  3.    static var USE_SUB_SUP_FONT = false;
  4.    static var USE_EMBEDDED_FONT = false;
  5.    function CAppendiceStyleManager(inBaseFont, inApiceFont, inPediceFont, inNormalSize, inSmallSize, inBigSize)
  6.    {
  7.       super();
  8.       this.mCurrentView = "normal";
  9.       this.mBaseFont = inBaseFont;
  10.       this.mApiceFont = inApiceFont;
  11.       this.mPediceFont = inPediceFont;
  12.       this.mNormalSize = inNormalSize;
  13.       this.mSmallSize = inSmallSize;
  14.       this.mBigSize = inBigSize;
  15.       this.mMargin = 16;
  16.       this.mPrintMargin = 28;
  17.       this.mMarginTitle = 0;
  18.       this.mPreviewMargin = 16;
  19.       this.mPreviewMarginTitle = 16;
  20.       this.mPreviewNormalSize = this.mNormalSize - 1;
  21.       this.mPreviewSmallSize = this.mSmallSize - 1;
  22.       this.mPreviewBigSize = this.mBigSize - 1;
  23.       this.mPrintSize = inNormalSize;
  24.       this.init();
  25.    }
  26.    function SetView(inView)
  27.    {
  28.       if(inView != this.mCurrentView)
  29.       {
  30.          this.mCurrentView = inView;
  31.          if(this.mCurrentView == "big")
  32.          {
  33.             this.initStyle(this.mCSS,this.mBigSize,this.mMargin,this.mMarginTitle);
  34.             this.initStyle(this.mPreviewCSS,this.mPreviewBigSize,this.mPreviewMargin,this.mPreviewMarginTitle);
  35.          }
  36.          else if(this.mCurrentView == "small")
  37.          {
  38.             this.initStyle(this.mCSS,this.mSmallSize,this.mMargin,this.mMarginTitle);
  39.             this.initStyle(this.mPreviewCSS,this.mPreviewSmallSize,this.mPreviewMargin,this.mPreviewMarginTitle);
  40.          }
  41.          else
  42.          {
  43.             this.initStyle(this.mCSS,this.mNormalSize,this.mMargin,this.mMarginTitle);
  44.             this.initStyle(this.mPreviewCSS,this.mPreviewNormalSize,this.mPreviewMargin,this.mPreviewMarginTitle);
  45.          }
  46.          trace("Setting new css" + inView);
  47.          this.broadcastMessage("onFontSizeChanged");
  48.       }
  49.    }
  50.    function init()
  51.    {
  52.       this.mCSS = new TextField.StyleSheet();
  53.       this.initStyle(this.mCSS,this.mNormalSize,this.mMargin,this.mMarginTitle);
  54.       this.mPrintCSS = new TextField.StyleSheet();
  55.       this.initStyle(this.mPrintCSS,this.mPrintSize,this.mPrintMargin,this.mPrintMargin);
  56.       this.mPreviewCSS = new TextField.StyleSheet();
  57.       this.initStyle(this.mPreviewCSS,this.mPreviewNormalSize,this.mPreviewMargin,this.mPreviewMarginTitle);
  58.       AsBroadcaster.initialize(this);
  59.       trace("USE_EMBEDDED_FONT = " + CAppendiceStyleManager.USE_EMBEDDED_FONT);
  60.       HtmlListboxCellRenderer.USE_EMBEDDED_FONT = CAppendiceStyleManager.USE_EMBEDDED_FONT;
  61.       HtmlTreeCellRenderer.USE_EMBEDDED_FONT = CAppendiceStyleManager.USE_EMBEDDED_FONT;
  62.       HtmlMenuCellRenderer.USE_EMBEDDED_FONT = CAppendiceStyleManager.USE_EMBEDDED_FONT;
  63.       HtmlListboxCellRenderer.style_sheet = this.GetCSS();
  64.       HtmlTreeCellRenderer.style_sheet = this.GetCSS();
  65.       HtmlMenuCellRenderer.style_sheet = this.GetCSS();
  66.       EmbedHtmlMenuCellRenderer.style_sheet = this.GetCSS();
  67.    }
  68.    function GetPreviewCSS()
  69.    {
  70.       return this.mPreviewCSS;
  71.    }
  72.    function GetPrintCSS()
  73.    {
  74.       return this.mPrintCSS;
  75.    }
  76.    function GetCSS()
  77.    {
  78.       return this.mCSS;
  79.    }
  80.    function initStyle(inStyle, inSize, inMargin, inMarginTitle)
  81.    {
  82.       if(CAppendiceStyleManager.USE_EMBEDDED_FONT)
  83.       {
  84.          this.initStyleEmbedded(inStyle,inSize,inMargin,inMarginTitle);
  85.       }
  86.       else
  87.       {
  88.          this.initStyleDeviceFont(inStyle,inSize,inMargin,inMarginTitle);
  89.       }
  90.    }
  91.    function initStyleDeviceFont(inStyle, inSize, inMargin, inMarginTitle)
  92.    {
  93.       inStyle.setStyle(".rowText",{fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  94.       inStyle.setStyle(".menuRowText",{fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  95.       inStyle.setStyle(".menuRowTextEmbed",{fontFamily:"ArialEmbed",fontSize:11.5,fontWeight:"normal",fontStyle:"normal",textAlign:"center"});
  96.       inStyle.setStyle(".menuProspettive",{fontFamily:"ArialEmbed",fontSize:12,fontWeight:"bold",fontStyle:"normal",textAlign:"left"});
  97.       inStyle.setStyle(".S_SCAPS",{fontSize:this.mNormalSize - 2});
  98.       inStyle.setStyle(".s_content",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  99.       inStyle.setStyle(".s_abstract",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  100.       inStyle.setStyle(".s_title0",{marginLeft:inMarginTitle,marginRight:inMarginTitle,fontFamily:this.mBaseFont,fontSize:inSize + 4,fontWeight:"bold",fontStyle:"italic"});
  101.       inStyle.setStyle(".s_text0",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  102.       inStyle.setStyle(".s_title1",{marginLeft:inMarginTitle,marginRight:inMarginTitle,fontFamily:this.mBaseFont,fontSize:inSize + 2,fontWeight:"bold",fontStyle:"italic"});
  103.       inStyle.setStyle(".s_text1",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  104.       inStyle.setStyle(".s_title2",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize + 1,fontWeight:"bold",fontStyle:"normal"});
  105.       inStyle.setStyle(".s_text2",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  106.       inStyle.setStyle(".s_title3",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"italic"});
  107.       inStyle.setStyle(".s_text3",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  108.       inStyle.setStyle(".s_title4",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"italic"});
  109.       inStyle.setStyle(".s_text4",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  110.       inStyle.setStyle(".s_titoloContributo",{marginLeft:inMarginTitle,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize + 4,fontWeight:"bold",fontStyle:"normal"});
  111.       inStyle.setStyle(".s_didaContributo",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"normal"});
  112.       inStyle.setStyle(".s_didaProspettive",{marginLeft:0,marginRight:0,fontFamily:this.mBaseFont,fontSize:12,fontWeight:"bold",fontStyle:"normal"});
  113.       inStyle.setStyle(".s_titoloThumbPreview",{marginLeft:0,marginRight:0,fontFamily:this.mBaseFont,fontSize:inSize - 2,fontWeight:"normal",fontStyle:"normal"});
  114.       inStyle.setStyle(".alertTitle",{fontFamily:this.mBaseFont,fontSize:14,fontWeight:"bold",fontStyle:"normal",textAlign:"center"});
  115.       inStyle.setStyle(".alertTesto",{fontFamily:this.mBaseFont,fontSize:12,fontWeight:"normal",fontStyle:"normal",textAlign:"center"});
  116.       inStyle.setStyle(".s_Forbici",{fontFamily:"xxForbici",fontWeight:"bold"});
  117.       if(CAppendiceStyleManager.USE_SUB_SUP_FONT == true)
  118.       {
  119.          inStyle.setStyle(".s_Superscript",{marginLeft:0,marginRight:0,fontFamily:this.mApiceFont});
  120.          inStyle.setStyle(".s_Subscript",{marginLeft:0,marginRight:0,fontFamily:this.mPediceFont});
  121.       }
  122.       else
  123.       {
  124.          inStyle.setStyle(".s_Superscript",{marginLeft:0,marginRight:0,fontFamily:this.mBaseFont,fontSize:inSize - 2,fontWeight:"normal",fontStyle:"italic",color:"#FF0000"});
  125.          inStyle.setStyle(".s_Subscript",{marginLeft:0,marginRight:0,fontFamily:this.mBaseFont,fontSize:inSize - 2,fontWeight:"normal",fontStyle:"italic",color:"#0000FF"});
  126.       }
  127.       inStyle.setStyle(".s_Header",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize - 3,fontWeight:"bold",fontStyle:"normal",textAlign:"center"});
  128.       inStyle.setStyle(".s_Footer",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize - 3,fontWeight:"bold",fontStyle:"normal"});
  129.       inStyle.setStyle(".s_Signature",{marginLeft:inMargin,marginRight:inMargin + 5,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"italic",textAlign:"right"});
  130.    }
  131.    function initStyleEmbedded(inStyle, inSize, inMargin, inMarginTitle)
  132.    {
  133.       trace("initStyleEmbedded");
  134.       inStyle.setStyle(".rowText",{fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal"});
  135.       inStyle.setStyle(".menuRowText",{fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal"});
  136.       inStyle.setStyle(".menuRowTextEmbed",{fontFamily:"ArialEmbed",fontSize:11.5,fontWeight:"normal",fontStyle:"normal",textAlign:"center"});
  137.       inStyle.setStyle(".menuProspettive",{fontFamily:"ArialEmbed",fontSize:12,fontWeight:"bold",fontStyle:"normal",textAlign:"left"});
  138.       inStyle.setStyle(".S_SCAPS",{fontSize:this.mNormalSize - 2});
  139.       inStyle.setStyle(".s_content",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal",color:"#444444"});
  140.       inStyle.setStyle(".s_abstract",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal",color:"#444444"});
  141.       inStyle.setStyle(".s_title0",{marginLeft:inMarginTitle,marginRight:inMarginTitle,fontFamily:this.mBaseFont,fontSize:inSize + 4,fontWeight:"bold",fontStyle:"italic"});
  142.       inStyle.setStyle(".s_text0",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal",color:"#444444"});
  143.       inStyle.setStyle(".s_title1",{marginLeft:inMarginTitle,marginRight:inMarginTitle,fontFamily:this.mBaseFont,fontSize:inSize + 3,fontWeight:"bold",fontStyle:"italic"});
  144.       inStyle.setStyle(".s_text1",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal",color:"#444444"});
  145.       inStyle.setStyle(".s_title2",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize + 3,fontWeight:"bold",fontStyle:"italic"});
  146.       inStyle.setStyle(".s_text2",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal",color:"#444444"});
  147.       inStyle.setStyle(".s_title3",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"italic"});
  148.       inStyle.setStyle(".s_text3",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal",color:"#444444"});
  149.       inStyle.setStyle(".s_title4",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"italic"});
  150.       inStyle.setStyle(".s_text4",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal",color:"#444444"});
  151.       inStyle.setStyle(".s_titoloContributo",{marginLeft:inMarginTitle,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize + 4,fontWeight:"bold",fontStyle:"normal"});
  152.       inStyle.setStyle(".s_didaContributo",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"bold",fontStyle:"normal"});
  153.       inStyle.setStyle(".s_didaProspettive",{marginLeft:0,marginRight:0,fontFamily:this.mBaseFont,fontSize:12,fontWeight:"bold",fontStyle:"normal"});
  154.       inStyle.setStyle(".s_titoloThumbPreview",{marginLeft:0,marginRight:0,fontFamily:this.mBaseFont,fontSize:inSize - 2,fontWeight:"bold",fontStyle:"normal"});
  155.       inStyle.setStyle(".s_Bold",{color:"#000000"});
  156.       inStyle.setStyle(".alertTitle",{fontFamily:this.mBaseFont,fontSize:14,fontWeight:"bold",fontStyle:"normal",textAlign:"center",color:"#000000"});
  157.       inStyle.setStyle(".alertTesto",{fontFamily:this.mBaseFont,fontSize:12,fontWeight:"bold",fontStyle:"normal",textAlign:"center",color:"#000000"});
  158.       inStyle.setStyle(".s_Forbici",{fontFamily:"xxForbici",fontWeight:"bold",fontStyle:"italic"});
  159.       if(CAppendiceStyleManager.USE_SUB_SUP_FONT == true)
  160.       {
  161.          inStyle.setStyle(".s_Superscript",{marginLeft:0,marginRight:0,fontFamily:this.mApiceFont});
  162.          inStyle.setStyle(".s_Subscript",{marginLeft:0,marginRight:0,fontFamily:this.mPediceFont});
  163.       }
  164.       else
  165.       {
  166.          inStyle.setStyle(".s_Superscript",{marginLeft:0,marginRight:0,fontFamily:this.mBaseFont,fontSize:inSize - 2,fontWeight:"normal",fontStyle:"italic",color:"#FF0000"});
  167.          inStyle.setStyle(".s_Subscript",{marginLeft:0,marginRight:0,fontFamily:this.mBaseFont,fontSize:inSize - 2,fontWeight:"normal",fontStyle:"italic",color:"#0000FF"});
  168.       }
  169.       inStyle.setStyle(".s_Header",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize - 3,fontWeight:"bold",fontStyle:"normal",textAlign:"center"});
  170.       inStyle.setStyle(".s_Footer",{marginLeft:inMargin,marginRight:inMargin,fontFamily:this.mBaseFont,fontSize:inSize - 3,fontWeight:"bold",fontStyle:"normal",textAlign:"left"});
  171.       inStyle.setStyle(".s_Signature",{marginLeft:inMargin,marginRight:inMargin + 5,fontFamily:this.mBaseFont,fontSize:inSize,fontWeight:"normal",fontStyle:"italic",textAlign:"right"});
  172.    }
  173.    function CSStoHTML(my_styleSheet)
  174.    {
  175.       var outTxt = "";
  176.       var styleNames = my_styleSheet.getStyleNames();
  177.       if(styleNames.length > 0)
  178.       {
  179.          var i = 0;
  180.          while(i < styleNames.length)
  181.          {
  182.             var styleName = styleNames[i];
  183.             outTxt += "\n" + styleName + "{\n";
  184.             if(!(styleName == ".s_Superscript" or styleName == ".s_Subscript"))
  185.             {
  186.                var styleObject = my_styleSheet.getStyle(styleName);
  187.                for(var propName in styleObject)
  188.                {
  189.                   var propValue = styleObject[propName];
  190.                   outTxt += "\t" + propName + ": " + propValue + ";\n";
  191.                }
  192.             }
  193.             outTxt += "\n}\n";
  194.             i++;
  195.          }
  196.       }
  197.       outTxt = outTxt.split("fontFamily").join("font-family");
  198.       outTxt = outTxt.split("fontSize").join("font-size");
  199.       outTxt = outTxt.split("fontStyle").join("font-style");
  200.       outTxt = outTxt.split("fontWeight").join("font-weight");
  201.       outTxt = outTxt.split("letterSpacing").join("letter-spacing");
  202.       outTxt = outTxt.split("marginLeft").join("margin-left");
  203.       outTxt = outTxt.split("marginRight").join("margin-right");
  204.       outTxt = outTxt.split("textAlign").join("text-align");
  205.       outTxt = outTxt.split("textDecoration").join("text-decoration");
  206.       outTxt = outTxt.split("textIndent").join("text-indent");
  207.       return outTxt;
  208.    }
  209. }
  210.